home *** CD-ROM | disk | FTP | other *** search
- #page 000
-
- Die ATUtilities-Library:
-
- Inhaltsübersicht -- Teil 1:
-
- Seite 10: GetOpalFont()()
- Seite 20: ExitWarning()()
- Seite 30: ErrorRequest(errorNum) (d0)
- Seite 40: InfoRequest(info) (a0)
- Seite 50: MultiRequest(info1,info2,positive,negative) (a0/a1/a2/a3)
- Seite 60: CallUtility(name) (a0)
-
- Seite 70: (Funktionen nur für ATKeyboard sinnvoll)
- CreateUtilityList()()
- DeleteUtilityList()()
- CallUtilityList()()
-
- Seite 80: CreatePublicHandler(jIntNum) (d0)
- Seite 90: DeletePublicHandler(handler) (a0)
- #next 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 001
-
- Inhaltsübersicht -- Teil 2:
-
- Seite 100: AllocCommMemory()
- Seite 110: FreeCommMemory()
- Seite 120: DrawPBorder(win,leftEdge,topEdge,width,height) (a0,d0/d1/d2/d3)
- Seite 130: DrawNBorder(win,leftEdge,topEdge,width,height) (a0,d0/d1/d2/d3)
- Seite 140: DrawPTextBorder(win,leftEdge,topEdge,width,height,text) (a0,d0/d1/d2/d3,a1)
- Seite 150: DrawNTextBorder(win,leftEdge,topEdge,width,height,text) (a0,d0/d1/d2/d3,a1)
- Seite 160: WriteText(rp,x,y,text) (a0,d0/d1,a1)
- Seite 170: SelectStdFPen(rp) (a0)
- Seite 180: SelectStdBPen(rp) (a0)
- Seite 190: UsePrefs()()
- Seite 200: CreateStdWindow(title,leftEdge,topEdge,width,height,idcmp,flags) (a0,d0/d1/d2/d3/d4/d5)
- Seite 210: DeleteStdWindow(window) (a0)
- Seite 220: CreateBoolGadget(window,leftEdge,topEdge,width,height,text,id) (a0,d0/d1/d2/d3/a1/d4)
- Seite 230: CreateStringGadget(window,leftEdge,topEdge,width,height,string,maxPos,id)
- (a0,d0/d1/d2/d3/a1/d4/d5)
- Seite 240: CreateNToggleGadget(window,leftEdge,topEdge,width,height,text,id) (a0,d0/d1/d2/d3/a1/d4)
- Seite 250: CreateSToggleGadget(window,leftEdge,topEdge,width,height,text,id) (a0,d0/d1/d2/d3/a1/d4)
- #next 002 Inhalt (3)
- #goto 001 Inhalt (2)
- #goto 003 Inhalt (4)
- #page 002
-
- Inhaltsübersicht -- Teil 3:
-
- Seite 260: CreateIntegerGadget(window,leftEdge,topEdge,width,height,string,maxPos,id)
- (a0,d0/d1/d2/d3/a1/d4/d5)
- Seite 270: DrawCPBorder(win,leftEdge,topEdge,width,height) (a0,d0/d1/d2/d3)
- Seite 280: DrawCNBorder(win,leftEdge,topEdge,width,height) (a0,d0/d1/d2/d3)
- Seite 290: DrawCPTextBorder(win,leftEdge,topEdge,width,height,text) (a0,d0/d1/d2/d3,a1)
- Seite 300: DrawCNTextBorder(win,leftEdge,topEdge,width,height,text) (a0,d0/d1/d2/d3,a1)
- Seite 310: CreateProcess(function,stack,name,priority) (a0,d0,a1,d1)
- Seite 320: AvailJanusMem(type) (d0)
- Seite 330: Utility(name,type) (a0,d0)
- Seite 340: Received(port) (a0)
- Seite 350: InformationBox(title,t1,t2,t3,t4,iconName) (a0,d0/d1/d2/d3/d4)
- Seite 360: LibraryInfo()()
- Seite 370: CreatePrivateHandler(jIntNum,size) (d0/d1)
- Seite 380: DeletePrivateHandler(handler) (a0)
- Seite 390: ConvertDateStamp(dateStamp,newDateStamp) (a0/a1)
- Seite 400: ConvertIntelMotorola(longword) (d0)
- Seite 410: CreateAppItem(title) (a0)
- Seite 420: DeleteAppItem(app) (a0)
- #next 003 Inhalt (4)
- #goto 000 Inhalt (1)
- #goto 002 Inhalt (3)
- #page 003
-
- Inhaltsübersicht -- Teil 4:
-
- Seite 430: ChangeTaskPri(priority) (d0)
- Seite 440: Help(helpName,page) (a0,d0)
- Seite 450: CreateMinGadget(window,leftEdge,topEdge,width,height,id) (a0,d0/d1/d2/d3/d4)
- #next 010 GetOpalFont()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #page 010
-
- struct TextFont *GetOpalFont() _LVOGetOpalFont=-30
-
- Diese Funktion liefert einen Zeiger auf den Opal/9-Font zurück. Dazu muß
- jedoch die Diskfont-Library und der Font verfügbar sein.
- #next 020 ExitWarning()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 020
-
- BOOL ExitWarning() _LVOExitWarning=-36
-
- Diese Funktion öffnet einen Requester mit folgendem Text:
-
- Warnung: Das Beenden dieses ATUtilities
- kann Probleme erurschen, wenn MS-DOS
- einen erneuten Zugriffsversuch macht!
- Nach Beendigung sollte ein Reset der
- PC/AT-Karte gemacht werden.
- Wollen Sie wirklich beenden?
- [Ja, Programmende] [Nein, zurück]
-
- Es wird TRUE zurückgeliefert, wenn "Ja, Programmende" gewählt wurde, sonst
- FALSE. Diese Funktion sollte vor dem Beenden von ATUtilities aufgerufen werden,
- wenn das zugehörige PC-Programm eine Beendigung nicht automatisch erkennt.
- #next 030 ErrorRequest()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 030
-
- VOID ErrorRequest(errorNum) _LVOErrorRequest=-42
- D0: ULONG errorNum
-
- Diese Funktion gibt den Text eines ATUtilities-Fehlers aus. Fehlernummern:
-
- 0 (ERROR_JANUS): "Fehler beim öffnen der Janus-Library."
- 1 (ERROR_DISKFONT): "Fehler beim öffnen der DiskFont-Library."
- 2 (ERROR_OPAL): "Fehler beim Laden des Opal-Fonts."
- 3 (ERROR_MENU): "Fehler bei der Menü-Installation."
- 4 (ERROR_ALLOC): "Nicht genug freier Speicher."
- 5 (ERROR_SIGNAL): "Nicht genug freie Task-Signale."
- 6 (ERROR_SETUP): "Janus-Interrupt ist schon belegt!."
- 7 (ERROR_JALLOC): "Nicht genug freier DualPorted-Speicher."
- 8 (ERROR_PORT): "Kann Message-Port nicht erstellen."
- 9 (ERROR_MPORT): "Kann Port für Utility-Manager nicht erstellen."
- 10000 (ERROR_UNDEF): "ATUtilities: Undefinirter Fehler."
- #next 040 InfoRequest()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 040
-
- VOID InfoWarning(info) _LVOInfoRequest=-48
- A0: UBYTE *info
-
- Diese Funktion gibt einen beliebigen einzeiligen Informationstext in einem
- Requester aus. Der Requester wird durch klicken auf ein "Okay"-Gadget beendet.
-
- Beispiel:
- InfoRequest("Konnte Screen nicht öffnen!");
- #next 050 MultiRequest()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 050
-
- BOOL MultiRequest(info1,info2,positiv,negativ) _LVOMultiRequest=-54
- A0: UBYTE *info1;
- A1: UBYTE *info2;
- A2: UBYTE *positiv;
- A3: UBYTE *negativ;
-
- Diese Funktion öffnet einen zweizeiligen Multifunktionsrequester.
- "positiv" gibt den Text für das erste Gadget an, "negativ" den Text für das
- Zweite. Ist "negativ" Null, so ist "negativ" gleich "positiv". MultiRequest()
- gibt das Ergebnis der Abfrage als Boolean-Wert zurück: TRUE für Wahl von
- "positiv", FALSE für "negativ".
-
- Beispiele:
- bool=MultiRequest("Wählen Sie bitte:","Rechts oder Links","Rechts","Links");
- MultiRequest("Fehler:","Konnte Screen nicht öffnen!","Okay",NULL);
- #next 060 CallUtility()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 060
-
- VOID CallUtility(name) _LVOCallUtility=-60
- A0: UBYTE *name
-
- Diese Funktion ruft das Utility mit dem Portnamen "name" auf. Sollte es (noch)
- nicht laufen, so erscheint folgender Requester:
-
- Externe Erweiterung ist (noch) nicht aktiv:
- (( Name des Ports ))
-
- Ansonsten öffnet das Utility das Einstellungsfenster.
- #next 070 ATKeyboard-F.
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 070
-
- Achtung:
- Diese Funktionen sind nur für ATKeyboard sinnvoll. Sie sollten nicht
- in anderen Programmen verwendet werden!
-
-
- struct MenuItem *CreateUtilityList() _LVOCreateUtilityList=-66
- Diese Funktion erstellt die Untermenüs von "Externe Erweiterungen".
-
- VOID DeleteUtilityList() _LVODeleteUtilityList=-72
- Der belegte Speicher für die Untermenüs wird freigeben.
-
- VOID CallUtilityList(nummer) _LVOCallUtilityList=-78
- D0: ULONG nummer
- Ein Untermenü wurde angewählt. Die ATUtilities-Library soll nun auf das
- Sub-Item "nummer" reagieren.
-
- #next 080 CreatePublicHandler
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 080
-
- struct ExtendedSetupSig *CreatePublicHandler(jIntNum) _LVOCreatePublicHandler=-84
- D0: UBYTE jIntNum
-
- Diese Funktion erstellt einen Janus-Interrupt-Handler für Janus-Interrupt
- "jIntNum". Außer der Interrupt-Belegung wird auch noch ein 16 KByte
- großer Speicherbereich (CommMemory) für die Kommunikation bereitgestellt
- und ein Signal-Bit für Wait() belegt.
- Das CommMemory wird von allen mit CreatePublicHandler() belegten Janus-Interrupts
- gemeinsam benutzt, da der PC nicht Multitaskingfähig ist. Soll der Interrupt
- den Speicher nur für sich alleine haben, so benutzen Sie CreatePrivateHandler().
-
- ExtendedSetupSig:
- 00 UWORD Offset - Offset auf CommMemory
- 02 struct SetupSig *SetupSig - Zeiger auf SetupSig
- 06 ULONG JanusSignal - Signalbit
- 10 ULONG JanusSignalMask - Signalmaske für Wait()
- 14 UBYTE *ByteAccess - Zeiger auf CommMemory mit Bytezugriff (MEM_BYTEACCESS)
- 18 UWORD *WorkAccess - Zeiger auf CommMemory mit Wordzugriff (MEM_WORDACCESS)
-
- Weitere Informationen zum CommMemory siehe AllocCommMemory() auf Seite 100.
-
- #next 090 DeletePublicHandler()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 090
-
- VOID DeletePublicHandler(handler) _LVODeletePublicHandler=-90
- A0: struct ExtendedSetupSig *handler
-
- Diese Funktion gibt einen mit CreatePublicHandler() belegten Janus-Interrupt
- wieder frei. Wurden alle Janus-Interrupts, die CommMemory benutzten, freigegeben,
- so wird auch dieses deallokiert.
- #next 100 AllocCommMemory()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 100
-
- struct CommMemory *AllocCommMemory() _LVOAllocCommMemory=-96
-
- Diese Funktion belegt 16 KBytes für den CommMemory-Speicherbereich. Dieser
- Speicherbereich wird im Buffer-RAM belegt - auf PC-Seite liegt dieser
- Bereich bei der AT-Karte ab Segment $D400. Der zurückgelieferte Zeiger
- hat den Zugriffstyp MEM_WORDACCESS.
-
- CommMemory:
- 0 UBYTE Memory[16384] - 16 KBytes für Daten
- 16384 UWORD Arg1 - Argument 1 - normalerweise Kommando
- 16386 UWORD Arg2 - Argument 2
- 16388 UWORD Arg3 - Argument 3
- 16390 UWORD Arg4 - Argument 4
- 16392 UWORD Arg5 - Argument 5
- 16394 UWORD Arg6 - Argument 6
- 16396 UWORD Arg7 - Argument 7
- 16398 UWORD Arg8 - Argument 8
- #next 110 FreeCommMemory()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 110
-
- VOID FreeCommMemory() _LVOFreeCommMemory=-102
-
- Dieser Befehl gibt die Zugriffsberechtigung für den CommMemory-Bereich
- wieder zurück. Haben alle Programme, die AllocCommMemory aufgerufen haben,
- dies getan, so wird der Speicher freigegeben.
- #next 120 DrawPBorder()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 120
-
- VOID DrawPBorder(window,x,y,länge,höhe) _LVODrawPBorder=-108
- A0: struct Window *window
- D0: UWORD x
- D1: UWORD y
- D2: UWORD länge
- D3: UWORD höhe
-
- Dieser Befehl zeichnet im Fenster "window" einen nach außen gedrückten
- Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
- die Länge und Höhe.
- #next 130 DrawNBorder()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 130
-
- VOID DrawNBorder(window,x,y,länge,höhe) _LVODrawNBorder=-114
- A0: struct Window *window
- D0: UWORD x
- D1: UWORD y
- D2: UWORD länge
- D3: UWORD höhe
-
- Dieser Befehl zeichnet im Fenster "window" einen nach innen gedrückten
- Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
- die Länge und Höhe.
- #next 140 DrawPTextBorder()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 140
-
- VOID DrawPTextBorder(window,x,y,länge,höhe,text) _LVODrawPTextBorder=-120
- A0: struct Window *window
- D0: UWORD x
- D1: UWORD y
- D2: UWORD länge
- D3: UWORD höhe
- A1: UBYTE *text
-
- Dieser Befehl zeichnet im Fenster "window" einen nach außen gedrückten
- Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
- die Länge und Höhe. Danach wird in diesem Bereich der Text "text" zentriert
- ausgegeben.
-
- #next 150 DrawNTextBorder()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 150
-
- VOID DrawNTextBorder(window,x,y,länge,höhe,text) _LVODrawNTextBorder=-126
- A0: struct Window *window
- D0: UWORD x
- D1: UWORD y
- D2: UWORD länge
- D3: UWORD höhe
- A1: UBYTE *text
-
- Dieser Befehl zeichnet im Fenster "window" einen nach innen gedrückten
- Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
- die Länge und Höhe. Danach wird in diesem Bereich der Text "text" zentriert
- ausgegeben.
- #next 160 WriteText()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 160
-
- VOID WriteText(rastPort,x,y,text) _LVOWriteText=-132
- A0: struct RastPort *rastPort
- D0: UWORD x
- D1: UWORD y
- A1: UBYTE *text
-
- Dieser Befehl gibt im Rast-Port "rastPort" einen Text an der Position
- "x","y" aus.
- #next 170 SelectStdFPen()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 170
-
- VOID SelectStdFPen(rastPort) _LVOSelectStdFPen=-138
- A0: struct RastPort *rastPort
-
- Dieser Befehl setzt die Vordergrundzeichenfarbe des Rast-Port "rastPort"
- auf den Standardwert für die jeweilige Betriebssystemversion.
- #next 180 SelectStdBPen()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 180
-
- VOID SelectStdBPen(rastPort) _LVOSelectStdBPen=-144
- A0: struct RastPort *rastPort
-
- Dieser Befehl setzt die Hintergrundzeichenfarbe des Rast-Port "rastPort"
- auf den Standardwert für die jeweilige Betriebssystemversion.
- #next 190 UsePrefs()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 190
-
- BOOL UsePrefs() _LVOUsePrefs=-150
-
- Diese Funktion öffnet folgenden Requester:
-
- Wollen Sie die gemachten Einstellungen
- Übernehmen oder verwerfen ?
- [Übernehmen] [Verwerfen]
-
- Bei Übernehmen wird TRUE zurückgeliefert, sonst FALSE.
- #next 200 CreateStdWindow()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 200
-
- struct Window *CreateStdWindow(titel,x,y,breite,höhe,IDCMP,flags) _LVOCreateStdWindow=-156
- A0: UBYTE *titel
- D0: UWORD x
- D1: UWORD y
- D2: UWORD breite
- D3: UWORD höhe
- D4: ULONG IDCMP
- D5: ULONG flags
-
- Diese Funktion öffnet ein Fenster an der Position "x","y" mit "breite" Pixel
- Breite und "höhe" Pixel Höhe. "flags" gibt die Window-Flags an, "IDCMP" die
- zu sendenden Ereignisse.
- Für die Gadget-Funktionen wird der Eintrag "UserData" auf Null gesetzt.
- Er nimmt später eine Remember-Struktur auf.
- #next 210 DeleteStdWindow()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 210
-
- VOID DeleteStdWindow(fenster) _LVODeleteStdWindow=-162
- A0: struct Window *fenster
-
- Diese Funktion schließt ein mit CreateStdWindow() geöffnetes Fenster.
- Sind Remember-Einträge vorhanden, so werden sie freigegeben.
- #next 220 CreateBoolGadget()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 220
-
- struct Gadget *CreateBoolGadget(fenster,x,y,breite,höhe,text,id) _LVOCreateBoolGadget=-168
- A0: struct Window *fenster
- D0: UWORD x
- D1: UWORD y
- D2: UWORD breite
- D3: UWORD höhe
- A1: UBYTE *text
- D4: UWORD id
-
- Diese Funktion erstellt im Fenster "window" ein Boolean-Gadget.
- "text" gibt den in das Gadget zu zentrierenden Text an, "id" die Kennnummer.
- #next 230 CreateStringGadget()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 230
-
- UBYTE *CreateStringGadget(fenster,x,y,breite,höhe,text,maxPos,id) _LVOCreateStringGadget=-174
- A0: struct Window *fenster
- D0: UWORD x
- D1: UWORD y
- D2: UWORD breite
- D3: UWORD höhe
- A1: UBYTE *text
- D4: UWORD maxPos
- D5: UWORD id
-
- Diese Funktion erstellt im Fenster "window" ein String-Gadget.
- "text" gibt den voreingestellten Text an, "id" die Kennnummer,
- "maxPos" die maximale Anzahl von Zeichen im Gadget.
-
- Wichtig:
- CreateStringGadget() gibt einen Zeiger auf den String-Buffer zurück,
- nicht auf die Gadget-Struktur!
- #next 240 CreateNToggleGadget()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 240
-
- struct Gadget *CreateNToggleGadget(fenster,x,y,breite,höhe,text,id) _LVOCreateNToggleGadget=-180
- A0: struct Window *fenster
- D0: UWORD x
- D1: UWORD y
- D2: UWORD breite
- D3: UWORD höhe
- A1: UBYTE *text
- D4: UWORD id
-
- Diese Funktion erstellt im Fenster "window" ein Toggle-Gadget.
- "text" gibt den in das Gadget zu zentrierenden Text an, "id" die Kennnummer.
- Das Gadget ist nach dem Aufruf dieser Funktion nicht gedrückt.
- #next 250 CreateSToggleGadget()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 250
-
- struct Gadget *CreateSToggleGadget(fenster,x,y,breite,höhe,text,id) _LVOCreateSToggleGadget=-186
- A0: struct Window *fenster
- D0: UWORD x
- D1: UWORD y
- D2: UWORD breite
- D3: UWORD höhe
- A1: UBYTE *text
- D4: UWORD id
-
- Diese Funktion erstellt im Fenster "window" ein Toggle-Gadget.
- "text" gibt den in das Gadget zu zentrierenden Text an, "id" die Kennnummer.
- Das Gadget ist nach dem Aufruf dieser Funktion gedrückt (SELECTED).
- #next 260 CreateIntegerGadget()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 260
-
-
- UBYTE *CreateIntegrGadget(fenster,x,y,breite,höhe,string,maxPos,id) _LVOCreateIntegerGadget=-192
- A0: struct Window *fenster
- D0: UWORD x
- D1: UWORD y
- D2: UWORD breite
- D3: UWORD höhe
- A1: UBYTE *string
- D4: UWORD maxPos
- D5: UWORD id
-
- Diese Funktion erstellt im Fenster "window" ein Integer-Gadget.
- "text" gibt den voreingestellten Text an, "id" die Kennnummer,
- "maxPos" die maximale Anzahl von Zeichen im Gadget.
- "string" gibt die Vorgabe-Zahl in Textform an:
- z. B. "0", "1000".
-
- Wichtig:
- CreateIntegerGadget() gibt einen Zeiger auf den String-Buffer zurück,
- nicht auf die Gadget-Struktur!
- #next 270 DrawCPBorder()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 270
-
- VOID DrawCPBorder(window,x,y,länge,höhe) _LVODrawCPBorder=-198
- A0: struct Window *window
- D0: UWORD x
- D1: UWORD y
- D2: UWORD länge
- D3: UWORD höhe
-
- Dieser Befehl zeichnet im Fenster "window" einen nach außen gedrückten
- Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
- die Länge und Höhe. Bevor jedoch der Rahmen gezeichnet wird, wird
- der Bereich innerhalb des Rahmens mit Farbe 0 gelöscht.
- #next 280 CreateCNBorder()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 280
-
- VOID DrawCNBorder(window,x,y,länge,höhe) _LVODrawNPBorder=-204
- A0: struct Window *window
- D0: UWORD x
- D1: UWORD y
- D2: UWORD länge
- D3: UWORD höhe
-
- Dieser Befehl zeichnet im Fenster "window" einen nach innen gedrückten
- Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
- die Länge und Höhe. Bevor jedoch der Rahmen gezeichnet wird, wird
- der Bereich innerhalb des Rahmens mit Farbe 0 gelöscht.
- #next 290 DrawCPTextBorder()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 290
-
- VOID DrawCPTextBorder(window,x,y,länge,höhe,text) _LVODrawCPTextBorder=-210
- A0: struct Window *window
- D0: UWORD x
- D1: UWORD y
- D2: UWORD länge
- D3: UWORD höhe
- A1: UBYTE *text
-
- Dieser Befehl zeichnet im Fenster "window" einen nach außen gedrückten
- Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
- die Länge und Höhe. Danach wird in diesem Bereich der Text "text" zentriert
- ausgegeben. Bevor jedoch der Rahmen gezeichnet wird, wird der Bereich
- innerhalb des Rahmens mit Farbe 0 gelöscht.
- #next 300 DrawCNTextBorder()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 300
-
- VOID DrawCNTextBorder(window,x,y,länge,höhe,text) _LVODrawCNTextBorder=-216
- A0: struct Window *window
- D0: UWORD x
- D1: UWORD y
- D2: UWORD länge
- D3: UWORD höhe
- A1: UBYTE *text
-
- Dieser Befehl zeichnet im Fenster "window" einen nach innen gedrückten
- Gadget-Rahmen. "x" und "y" geben die Startposition an, "länge" und "höhe"
- die Länge und Höhe. Danach wird in diesem Bereich der Text "text" zentriert
- ausgegeben. Bevor jedoch der Rahmen gezeichnet wird, wird der Bereich
- innerhalb des Rahmens mit Farbe 0 gelöscht.
- #next 310 CreateProcess()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 310
-
- struct Process *CreateProcess(funktion,stack,name,priorität) _LVOCreateProcess=-222
- A0: VOID (funktion *)()
- D0: ULONG stack
- A1: UBYTE *name
- D1: BYTE priorität
-
- Diese Funktion erstellt einen Neuen Prozess. "funktion" ist ein Zeiger
- auf die Routine, "stack" die Anzahl der Bytes für den Stack, "name" ein
- Zeiger auf den neuen Task-Namen, "priorität" die Task-Priorität.
- #next 320 AvailJanusMem()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 320
-
- UWORD AvailJanusMem(type) _LVOAvailJanusMem=-228
- D0: UWORD type
-
- Diese Funktion ermittelt die Anzahl der freien Bytes eines
- Janus-Speicherbereichs.
-
- "type":
- Parameter-Speicher: MEMF_PARAMETER=1
- Buffer-Speicher: MEMF_BUFFER=2
- #next 330 Utility()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 330
-
- VOID Utility(name,aktion) _LVOUtility=-234
- A0: UBYTE *name
- D0: UWORD aktion;
-
- Diese Funktion ruft ein Utility mit dem Kommando "aktion" auf.
- UTILITY_CALL bewirk das gleiche wie der Befehl CallUtility(). Utility()
- kann benutzt werden, um z. B. die Online-Hilfe für ein Utility direkt
- aufzurufen.
-
-
- Es stehen folgende Kommandos zur verfügung:
- Utility aufrufen (wie CallUtility()): UTILITY_CALL=50
- Utility beenden: UTILITY_QUIT=40
- Information über Utility: UTILITY_INFO=20
- Online-Hilfe für Utility: UTILITY_HELP=30
- #next 340 Received()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 340
-
- UWORD Received(port) _LVOReceived=-240
- A0: struct MsgPort *port
-
- Diese Funktion wird muß in einem Utility aufgerufen werden, wenn mit Wait()
- eine Message am Kommandoport ermittelt wurde. Received() gibt dann die
- Kommandonummer zurück, die bei Utility() aufgerufen wurde. Beispiel:
-
- Port=Zeiger auf erstellten Kommando-Port, PortSignalMask=(1L<<Port->mp_SigBit);
- while(ende==FALSE)
- {
- Signale=Wait(JanusSignalMask+PortSignalMask)
- if(Signale & PortSignalMask)
- {
- cmd=Received(Port);
- switch(cmd)
- {
- case UTILITY_CALL:
- EinstellungenAendern();
- break;
- .......
- #next 350 InformationBox()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 350
-
- VOID InformationBox(titel,t1,t2,t3,t4,iconName) _LVOInformationBox=-246
- A0: UBYTE *titel
- D0: UBYTE *t1
- D1: UBYTE *t2
- D2: UBYTE *t3
- D3: UBYTE *t4
- D4: UBYTE *iconName
-
- Diese Funktion erstellt das Standard-Informationsfenster. "titel" gibt
- den Fenstertitel an, "t1" bis "t4" die vier Textzeilen, "iconName" den
- Namen des Programm-Icons (ohne ".info" !) oder Null..
-
- Beispiel:
- InformationBox("Test-Programm - Information",
- "Test-Programm - Version 2.0",
- "Copyright (C) 1995 by",
- "X. Y.",
- "All rights reserved",
- "DH0:Test/TestIcon");
- #next 360 LibraryInfo()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 360
-
- VOID LibraryInfo() _LVOLibraryInfo=-252
-
- Diese Funktion gibt Informationen über die ATUtilities-Library aus.
- #next 370 CreatePrivateHandler()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 370
-
- struct ExtendedSetupSig *CreatePrivateHandler(jIntNum,bytes) _LVOCreatePrivateHandler=-258
- D0: UBYTE jIntNum
- D1: UWORD bytes
-
- Diese Funktion erstellt einen Janus-Interrupt-Handler für Janus-Interrupt
- "jIntNum". Als Kommunikationsspeicher werden ihm "bytes" Bytes Buffer-Speicher
- zugewiesen.
-
- ExtendedSetupSig:
- 00 UWORD Offset - Offset auf Buffer-Speicher
- 02 struct SetupSig *SetupSig - Zeiger auf SetupSig
- 06 ULONG JanusSignal - Signalbit
- 10 ULONG JanusSignalMask - Signalmaske für Wait()
- 14 UBYTE *ByteAccess - Zeiger auf Speicher mit Bytezugriff (MEM_BYTEACCESS)
- 18 UWORD *WorkAccess - Zeiger auf Speicher mit Wordzugriff (MEM_WORDACCESS)
-
- #next 380 DeletePrivateHandler()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 380
-
-
- VOID DeletePrivateHandler(handler) _LVODeletePrivateHandler=-264
- A0: struct ExtendedSetupSig *handler
-
- Diese Funktion gibt einen mit CreatePrivateHandler() belegten Janus-Interrupt
- wieder frei.
- #next 390 ConvertDateStamp()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 390
-
- VOID ConvertDateStamp(dateStamp,newDateStamp) _LVOConvertDateStamp=-270
- A0: struct DateStamp *dateStamp
- A1: struct NewDateStamp *newDateStamp
-
- Diese Funktion konvertiert einen DateStamp in eine neue Form, in der alle
- Angaben ohne Umrechnung verwendbar sind. "dateStamp" gibt den Date-Stamp an,
- "newDateStamp" einen Speicherbereich, in dem die neuen Angaben gesichert
- werden sollen.
-
- NewDateStamp:
- 0 UBYTE Hour - Stunde
- 1 UBYTE Minute - Minute
- 2 UBYTE Second - Sekunde
- 3 UBYTE DayNum - Wochentag (0=Sonntag, 1=Montag usw.)
- 4 UBYTE Day - Tag
- 5 UBYTE Month - Monat
- 6 UWORD Year - Jahr
- #next 400 ConvertIntelMotorola()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 400
-
- ULONG ConvertIntelMotorola(longword) _LVOConvertIntelMotorola=-276
- D0: ULONG longword
-
- Diese Funktion konvertiert ein Langword zwischen Intel-Prozessoren und
- Motorola-Prozessoren. Ein Intel-Langword kann so ins Dual Ported RAM
- geschrieben werden, vom Amiga mit Wordzugriff ausgelesen und mit
- ConvertIntelMotorola() zum Amiga-Langword konvertiert werden und umgekehrt.
-
- Dabei werden die oberen 16 Bit mit den Unteren 16 Bit vertauscht.
-
- #next 410 CreateAppItem()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 410
-
- struct AppManager *CreateAppItem(titel) _LVOCreateAppItem=-282
- A0: UBYTE *titel
-
- Diese Funktion erzeugt ein neues App-Item mit dem Titel "titel". Sie wird
- jedoch nur ausgeführt, wenn Amiga-DOS 2.0 vorhanden ist. Es wird ein Zeiger
- auf folgende Struktur zurückgegeben:
-
- AppManager:
- 0 struct MsgPort *Port - Zeiger auf Message-Port für App-Item
- 4 ULONG SignalMask - Signal-Maske für Wait
- 8 APTR AppItem - Zeiger auf App-Item
-
- Durch den Message-Port oder dessen Signal-Mask kann auf die Anwahl des Items
- gewartet werden. Ist eine Message angekommen, so muß sie mit GetMsg() geholt
- und dann durch ReplyMsg() zurückgegeben werden. Beispiel:
-
- Signale=Wait(..);
- if(Signale & AppManager->SignalMask) {
- ReplyMsg(GetMsg(AppManager->Port));
- ... }
- #next 420 DeleteAppItem()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 420
-
- VOID DeleteAppItem(appManager) _LVODeleteAppItem=-288
- A0: struct AppManager *appManager
-
- Ein mit CreateAppItem() erstelltes App-Item wird wieder entfernt.
- #next 430 ChangeTaskPri()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 430
-
- VOID ChangeTaskPri(pri) _LVOChangeTaskPri=-294
- D0: BYTE pri
-
- Die Priorität des aktuellen Tasks wird auf "pri" gesetzt.
- #next 440 Help()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 440
-
- VOID Help(name,seite) _LVOHelp=-300
- A0: UBYTE *name
- D0: UWORD seite
-
- Diese Funktion ruft die Online-Hilfe mit der Hilfedatei "name" auf.
- Es wird Seitennummer "seite" angezeigt.
-
- Anmerkung:
- Das gesamte Online-Hilfe-System befindet sich in die ATUtilities-Library,
- so daß es immer verfügbar ist.
-
- Textdateien werden mit dem Programm "hc" im Help-Verzeichnis in Hilfedateien
- übersetzt. Die Datei hc.txt im gleichen Verzeichnis enthält dazu weitere
- Informationen.
- #next 450 CreateMinGadget()
- #goto 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #page 450
-
- struct Gadget *CreateMinGadget(win,x,y,breite,höhe,id) _LVOCreateMinGadget=-306
- A0: struct Window *fenster
- D0: UWORD x
- D1: UWORD y
- D2: UWORD breite
- D3: UWORD höhe
- D4: UWORD id
-
- Diese Funktion erstellt im Fenster "window" ein Boolean-Gadget. Dazu wird
- aber kein Rahmen gezeichnet! Durch das GADGHNONE-Flag wird eine invertierung
- des Gadget-Bereichs bei Anwahl unterbunden.
- #next 000 Inhalt (1)
- #goto 001 Inhalt (2)
- #goto 002 Inhalt (3)
- #goto 003 Inhalt (4)
- #end
-